package pl.mg6.testsupport; import android.os.Parcelable; import junit.framework.TestCase; import org.parceler.Parcels; import java.util.Arrays; import java.util.List; import pl.mg6.testsupport.data.Complex; import pl.mg6.testsupport.data.Hrisey; import pl.mg6.testsupport.data.Parceler; import pl.mg6.testsupport.data.Simple; public class ReparcelerTestCase extends TestCase { private final Reparceler reparceler = new Reparceler(); public void testSimpleParcelableShouldBeEqual() { Simple simple = new Simple(6); ReparcelingResult<Simple> result = reparceler.reparcel(simple); assertSame(simple, result.getOriginal()); assertNotNull(result.getReparceled()); assertNotSame(simple, result.getReparceled()); assertTrue(result.areEqual()); assertNull(result.getError()); } public void testHriseyParcelableShouldBeEqual() { Hrisey hrisey = new Hrisey(42, "Answer"); ReparcelingResult<Hrisey> result = reparceler.reparcel(hrisey); assertSame(hrisey, result.getOriginal()); assertNotNull(result.getReparceled()); assertNotSame(hrisey, result.getReparceled()); assertTrue(result.areEqual()); assertNull(result.getError()); } public void testParcelerParcelableShouldBeEqual() { Parceler parceler = new Parceler(256, "MAX"); Parcelable parcelable = Parcels.wrap(parceler); ReparcelingResult<Parcelable> result = reparceler.reparcel(parcelable); assertSame(parcelable, result.getOriginal()); assertNotNull(result.getReparceled()); assertNotSame(parcelable, result.getReparceled()); assertTrue(result.areEqual()); assertNull(result.getError()); } public void testComplexParcelableShouldBeEqual() { Simple simple = new Simple(6); Hrisey hrisey = new Hrisey(42, "Answer"); List<String> list = Arrays.asList("One", "Two", "Three"); Complex complex = new Complex(simple, hrisey, list); ReparcelingResult<Complex> result = reparceler.reparcel(complex); assertSame(complex, result.getOriginal()); assertNotNull(result.getReparceled()); assertNotSame(complex, result.getReparceled()); assertTrue(result.areEqual()); assertNull(result.getError()); } }